<template>
  <div class="app-container">
    <!-- 头部 -->
    <div class="ProductionDynamicHeader">
      <Find :OriginalFilter="{ static: true }" @clickNumber1="radio1" @Launchform="Launchform" :formList="formList" @findClicked="findData" />
    </div>

    <el-card style="margin-top: 15px" :body-style="{ padding: '5px' }">
      <div style="display: flex">
        <div style="width: 100%">
          <span style="font-weight: 600">产后计划动态</span>
          <span style="font-weight: 600; color: red"
            >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ps:修改日期需要的格式:例如2023-05-02/双位数日期例如:2023-11-12</span
          >
          <Table
            :isLoading="isLoading"
            @inputChange="confirmChange5"
            class="table1"
            :tableHeader="tableHeader"
            :tableData="PostpartumPlanningQueryMethodsTableDate"
            :TableHeight="100"
            :outTableHeight="80"
          />
          <PageModule :PageData="{ total, buttonS: true }" @pageSizeChange="handleSizeChange" @pageChange="handleCurrentChange" />
        </div>
      </div>
    </el-card>

    <el-dialog v-model="dialogVisible1" width="50%" class="dialog pb0">
      <Find :OriginalFilter="{ static: true }" :searchImg="false" @Launchform="Launchform1" :formList="formList1" @findClicked="findData1" />
      <Table
        style="margin-top: 15px"
        @inputChange="confirmChange10"
        @currentRow="currentRow"
        class="table1"
        :tableHeader="tableHeader1"
        :tableData="ProcessCapacityModificationTableDate"
        :TableHeight="100"
        :outTableHeight="80"
      />
    </el-dialog>
  </div>
</template>
<script lang="ts">
import { defineComponent, ref, onMounted } from 'vue'
import service from '@/utils/request'
import { ElMessage, ElMessageBox } from 'element-plus'
import LoginWork from '@/utils/LoginWork'
import fileRequest from '@/utils/fileRequest'
import JMessage from '@/utils/JMessage'
export default defineComponent({
  name: 'PostpartumPlanning'
})
</script>
<script lang="ts" setup>
import { i18n, Jzhcn } from '@/i18n'
import Find from '@/components/Find/index.vue'
import {
  deleteCapacityModification,
  AddCapacityModification,
  ProcessCapacityModification,
  PostpartumPlanningQuery,
  AdjudicationNumberInquiry,
  updateLotNo,
  updateLotNoDate,
  OperationalUpdate
} from '@/api/Control/FactoryControl/PostpartumPlanning'

const isLoading = ref(true)

// 产后计划动态修改
const bussActArrList = ref<any>({
  cutDept: '',
  cutOutQty: '',
  cutPlanNew: '',
  hfOutQty: '',
  hfPlanNew: '',
  lastDate: '',
  lastLine: '',
  lastOutQty: '',
  lastPlanNew: '',
  lotNo: '',
  matchOutQty: '',
  matchPlanNew: '',
  stitchOutQty: '',
  stitchPlanNew: ''
})

const confirmChange5 = async (row?: any) => {
  bussActArrList.value.cutDept = row.cutDept
  bussActArrList.value.cutOutQty = Number(row.cutOutQty)
  bussActArrList.value.cutPlanNew = row.cutPlanNew
  bussActArrList.value.hfOutQty = Number(row.hfOutQty)
  bussActArrList.value.hfPlanNew = row.hfPlanNew
  bussActArrList.value.lastDate = row.lastDate
  bussActArrList.value.lastLine = row.lastLine
  bussActArrList.value.lastOutQty = Number(row.lastOutQty)
  bussActArrList.value.lastPlanNew = row.lastPlanNew
  bussActArrList.value.lotNo = row.lotNo
  bussActArrList.value.matchOutQty = Number(row.matchOutQty)
  bussActArrList.value.matchPlanNew = row.matchPlanNew

  bussActArrList.value.stitchOutQty = Number(row.stitchOutQty)
  bussActArrList.value.stitchPlanNew = row.stitchPlanNew

  const re = /^(\d{4})-(\d{2})-(\d{2})$/
  let active = true

  // 遍历每个属性，检查日期格式
  Object.keys(bussActArrList.value).forEach((key: string) => {
    if (
      key !== 'lotNo' &&
      key !== 'cutOutQty' &&
      key !== 'hfOutQty' &&
      key !== 'lastOutQty' &&
      key !== 'lastPlanNew' &&
      key !== 'matchOutQty' &&
      key !== 'stitchOutQty'
    ) {
      const dateValue = bussActArrList.value[key]
      if (dateValue !== null && !re.test(dateValue) && dateValue !== '') {
        active = false
      }
    }
  })

  if (!active) {
    JMessage.warning('日期格式错误应该为: xxxx-xx-xx')
  } else {
    try {
      const result = await LoginWork.put<any, any>('/bioDeptWrok/prodPlanUpdate', bussActArrList.value)
      if (result.code === 200) {
        PostpartumPlanningQueryMethods()
        JMessage.success(result.message)
      } else {
        JMessage.error(result.message)
      }
    } catch (error) {
      JMessage.error('更新数据时发生错误')
    }
  }
}

// 工序删除
const seqNoList = ref('-1')

const handleCloseMateriaLKlcLtvCodeUsage1 = (_done?: () => void) => {
  ElMessageBox.confirm('确定要删除该数据吗')
    .then(async () => {
      deleteCapacityModificationMethods()
    })
    .catch(() => {})
}

const deleteCapacityModificationMethods = async () => {
  const result = await deleteCapacityModification(seqNoList.value)
  if (result.code === 200) {
    ProcessCapacityModificationMethods()
    seqNoList.value = '-1'
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

const clearFormList1 = () => {
  formList1.value.forEach((item) => {
    if (item.type === 'input') {
      item.inputValue = ''
    }
  })
}

const clearFormList2 = () => {
  formList.value.forEach((item: any) => {
    if (item.type === 'input') {
      item.inputValue = ''
    } else if (item.type === 'select') {
      item.selectValue = ''
    } else if (item.type === 'date') {
      item.dateValue = ''
    }
  })
}

// 工序产能新增
const formList1 = ref([
  {
    type: 'input',
    inputPlaceholder: '请输入序号',
    inputValue: ''
  },
  {
    type: 'input',
    inputPlaceholder: '请输入工序代码',
    inputValue: ''
  },
  {
    type: 'input',
    inputPlaceholder: '请输入工序名称',
    inputValue: ''
  },
  {
    type: 'input',
    inputPlaceholder: '请输入规划产能',
    inputValue: ''
  },
  {
    type: 'input',
    inputPlaceholder: '备注',
    inputValue: ''
  },
  {
    type: 'button',
    checkboxLabel: '新增'
  },
  {
    type: 'button',
    checkboxLabel: '删除'
  },
  {
    type: 'button',
    checkboxLabel: '置空',
    bgColor: '#1890FF'
  }
])

const findData1 = (count: string) => {
  switch (count) {
    case '新增': {
      if (AddCapacityModificationParms.value.seqNo === -1) {
        JMessage.warning('序号不可为空')
      } else {
        AddCapacityModificationMethods()
      }
      break
    }
    case '置空': {
      clearFormList1()
      break
    }
    case '删除': {
      if (seqNoList.value === '-1') {
        JMessage.warning('请选择需要删除的数据')
      } else {
        handleCloseMateriaLKlcLtvCodeUsage1()
      }

      break
    }
  }
}

const Launchform1 = (row: any) => {
  AddCapacityModificationParms.value.seqNo = Number(row[0].inputValue)
  AddCapacityModificationParms.value.processCode = row[1].inputValue
  AddCapacityModificationParms.value.processName = row[2].inputValue
  AddCapacityModificationParms.value.iePlanQty = Number(row[3].inputValue)
  AddCapacityModificationParms.value.remark = row[4].inputValue
}

const AddCapacityModificationParms = ref({
  iePlanQty: 0,
  processCode: '',
  processName: '',
  remark: '',
  seqNo: -1
})

const AddCapacityModificationMethods = async () => {
  const result = await AddCapacityModification(AddCapacityModificationParms.value)
  if (result.code === 200) {
    ProcessCapacityModificationMethods()
    clearFormList1()
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

// 工序产能修改
const newseqNo = ref('')

const currentRow = (row: any) => {
  const { seqNo } = row
  newseqNo.value = seqNo
  seqNoList.value = seqNo
}

const confirmChange10 = async (row?: any) => {
  row.seqNoOld = newseqNo.value.toString()
  row.seqNo = Number(row.seqNo)
  row.iePlanQty = Number(row.iePlanQty)
  const result = await LoginWork.put<any, any>(`/bioDeptWrok/IePlanUpdate?seqNoOld=${row.seqNoOld}`, row)
  if (result.code === 200) {
    ProcessCapacityModificationMethods()
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

// 工序产能
const dialogVisible1 = ref(false)

const ProcessCapacityModificationTableDate = ref([])

const ProcessCapacityModificationMethods = async () => {
  const result = await ProcessCapacityModification()
  ProcessCapacityModificationTableDate.value = result.map((item: any) => {
    item.change = 'Y'
    item.disableConfirm = true
    return item
  })
}

// 更细裁断人数

const OperationalUpdateMethods = async () => {
  const result = await OperationalUpdate(
    Number(formList.value[16].inputValue),
    Number(formList.value[15].inputValue),
    Number(formList.value[14].inputValue)
  )
  if (result.code === 200) {
    AdjudicationNumberInquiryMethods()
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

// 更新资料
const updateLotNoDateMethods = async () => {
  const result = await updateLotNoDate()
  if (result.code === 200) {
    PostpartumPlanningQueryMethods()
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

// 更新指令
const updateLotNoMethods = async () => {
  const result = await updateLotNo()
  if (result.code === 200) {
    PostpartumPlanningQueryMethods()
    JMessage.success(result.message)
  } else {
    JMessage.error(result.message)
  }
}

// 裁断人数查询
const AdjudicationNumberInquiryMethods = async () => {
  const result = await AdjudicationNumberInquiry()
  formList.value[16].inputValue = result[0].lastPersons
  formList.value[15].inputValue = result[0].stitchPersons
  formList.value[14].inputValue = result[0].cutPersons
}

const radio1 = (row: number) => {
  console.log(row)
  PostpartumPlanningQueryMethodsParms.value.shortFlag = row
  PostpartumPlanningQueryMethods()
}

const Launchform = (row: any) => {
  PostpartumPlanningQueryMethodsParms.value.lotNo = row[0].inputValue
  PostpartumPlanningQueryMethodsParms.value.custom = row[1].selectValue
  PostpartumPlanningQueryMethodsParms.value.style = row[2].selectValue
  PostpartumPlanningQueryMethodsParms.value.lastNo = row[3].selectValue
  PostpartumPlanningQueryMethodsParms.value.process1 = row[4].selectValue
  PostpartumPlanningQueryMethodsParms.value.process2 = row[20].selectValue

  PostpartumPlanningQueryMethodsParms.value.deliveryDateStart = row[5].dateValue[0]
  PostpartumPlanningQueryMethodsParms.value.deliveryDateEnd = row[5].dateValue[1]

  PostpartumPlanningQueryMethodsParms.value.orderDateStart = row[6].dateValue[0]
  PostpartumPlanningQueryMethodsParms.value.orderDateEnd = row[6].dateValue[1]

  PostpartumPlanningQueryMethodsParms.value.planNewStart = row[7].dateValue[0]
  PostpartumPlanningQueryMethodsParms.value.planNewEnd = row[7].dateValue[1]

  PostpartumPlanningQueryMethods()
}

// 产后查询
const PostpartumPlanningQueryMethodsParms = ref({
  custom: '',
  deliveryDateEnd: '',
  deliveryDateStart: '',
  lastNo: '',
  lateType: -1,
  lotNo: '',
  orderDateEnd: '',
  orderDateStart: '',
  pageNum: 1,
  pageSize: 40,
  planNewEnd: '',
  planNewStart: '',
  process1: '',
  process2: '',
  shortFlag: 0,
  style: ''
})

const EvaluatesTheArrayReturnValue3 = (ArrayList: any) => {
  return ArrayList.map((item: any, index: any) => {
    return {
      optionKey: index,
      optionValue: item,
      optionLabel: item
    }
  })
}

// 品牌获取
const lastsQuiryMethods = async () => {
  const result = await service.get<any, any>(`/bioDeptWrok/getBefLast`)
  console.log(EvaluatesTheArrayReturnValue3(result))
  formList.value[3].selectOptions = EvaluatesTheArrayReturnValue3(result.filter((item: any) => item !== null))
}

// 品牌获取
const AddBrandDateMethods = async () => {
  const result = await service.get<any, any>(`/bioDeptWrok/getBefCustom`)
  formList.value[1].selectOptions = EvaluatesTheArrayReturnValue3(result)
}

// 型体获取
const AddBrandDateMethodsList = async () => {
  const result = await service.get<any, any>(`/bioDeptWrok/getBefStyle`)
  formList.value[2].selectOptions = EvaluatesTheArrayReturnValue3(result)
}

const PostpartumPlanningQueryMethodsTableDate = ref([])

const PostpartumPlanningQueryMethods = async () => {
  isLoading.value = true
  const result = await PostpartumPlanningQuery(PostpartumPlanningQueryMethodsParms.value)
  PostpartumPlanningQueryMethodsTableDate.value = result.dtos.map((item: any) => {
    item.change = 'Y'
    item.disableConfirm = true
    return item
  })
  imgList.value = result.dtos.map((item: any) => {
    return item.photoPath
  })
  total.value = result.total
  isLoading.value = false
}

const handleSizeChange = (val: number) => {
  PostpartumPlanningQueryMethodsParms.value.pageSize = val
  PostpartumPlanningQueryMethods()
}
const handleCurrentChange = (val: number) => {
  PostpartumPlanningQueryMethodsParms.value.pageNum = val
  PostpartumPlanningQueryMethods()
}

const total = ref()

onMounted(() => {
  PostpartumPlanningQueryMethods()

  AddBrandDateMethods()

  lastsQuiryMethods()

  AddBrandDateMethodsList()

  AdjudicationNumberInquiryMethods()
})

const formList = ref([
  {
    type: 'input',
    inputPlaceholder: '请输入指令',
    inputValue: ''
  },
  {
    type: 'select',
    selectValue: '',
    selectLabel: '',
    selectOptions: [],
    selectP: '品牌'
  },
  {
    type: 'select',
    selectValue: '',
    selectLabel: '',
    selectOptions: [],
    selectP: '型体'
  },
  {
    type: 'select',
    selectValue: '',
    selectLabel: '',
    selectP: '楦头',
    selectOptions: []
  },
  {
    type: 'select',
    selectValue: '',
    selectP: '制程',
    selectLabel: '',
    selectOptions: [
      { optionKey: 0, optionValue: '一裁', optionLabel: '一裁' },
      { optionKey: 1, optionValue: '工艺', optionLabel: '工艺' },
      { optionKey: 2, optionValue: '二/三裁', optionLabel: '二/三裁' },
      { optionKey: 3, optionValue: '针车', optionLabel: '针车' },
      { optionKey: 4, optionValue: '大底', optionLabel: '大底' },
      { optionKey: 5, optionValue: '成型', optionLabel: '成型' },
      { optionKey: 6, optionValue: '主面料', optionLabel: '主面料' }
    ]
  },
  {
    type: 'date',
    dateLabel: '客人交期',
    dateValue: ''
  },
  {
    type: 'date',
    dateLabel: '下单日期',
    dateValue: ''
  },
  {
    type: 'date',
    dateLabel: '计划日期',
    dateValue: ''
  },
  {
    type: 'radio1',
    checkboxLabel: '全部',
    label: '0'
  },
  {
    type: 'radio1',
    checkboxLabel: '有欠数',
    label: '1'
  },
  {
    type: 'radio1',
    checkboxLabel: '无欠数',
    label: '2'
  },
  {
    type: 'button',
    checkboxLabel: '置空',
    bgColor: '#1890FF'
  },
  {
    type: 'button',
    checkboxLabel: '更新指令'
  },
  {
    type: 'button',
    checkboxLabel: '更新资料'
  },
  {
    type: 'input',
    inputLabel: '裁断人数',
    inputValue: ''
  },
  {
    type: 'input',
    inputLabel: '针车人数',
    inputValue: ''
  },
  {
    type: 'input',
    inputLabel: '成型人数',
    inputValue: ''
  },
  {
    type: 'button',
    checkboxLabel: '工序产能设定'
  },
  {
    type: 'button',
    checkboxLabel: '导出查询资料'
  },
  {
    type: 'button',
    checkboxLabel: '周产能负荷分析'
  },
  {
    type: 'select',
    selectValue: '',
    selectLabel: '',
    selectOptions: [
      { optionKey: 0, optionValue: '一裁', optionLabel: '一裁' },
      { optionKey: 1, optionValue: '工艺', optionLabel: '工艺' },
      { optionKey: 2, optionValue: '二/三裁', optionLabel: '二/三裁' },
      { optionKey: 3, optionValue: '针车', optionLabel: '针车' },
      { optionKey: 5, optionValue: '成型', optionLabel: '成型' }
    ],
    selectP: '工序'
  },
  {
    type: 'button',
    checkboxLabel: '已延误明细预警'
  },
  {
    type: 'button',
    checkboxLabel: '三天内待上线预警'
  },
  {
    type: 'button',
    checkboxLabel: '单位预排辅助'
  },
  {
    type: 'button',
    checkboxLabel: '保存修改人数'
  }
])

const findData = async (data: string) => {
  switch (data) {
    case '已延误明细预警': {
      PostpartumPlanningQueryMethodsParms.value.lateType = 1
      PostpartumPlanningQueryMethods()
      break
    }
    case '三天内待上线预警': {
      PostpartumPlanningQueryMethodsParms.value.lateType = 2
      PostpartumPlanningQueryMethods()
      break
    }
    case '更新指令': {
      updateLotNoMethods()
      break
    }
    case '更新资料': {
      updateLotNoDateMethods()
      break
    }
    case '保存修改人数': {
      OperationalUpdateMethods()
      break
    }
    case '工序产能设定': {
      dialogVisible1.value = true
      ProcessCapacityModificationMethods()
      break
    }
    case '导出查询资料': {
      const res = await fileRequest.put<any, any>(`/bioDeptWrok/prodLotExpord`, PostpartumPlanningQueryMethodsParms.value)
      const link = document.createElement('a') // 利用a标签自定义下载文件名
      let blob = new Blob([res.data]) // 创建Blob对象，设置文件类型
      link.style.display = 'none'
      //设置连接
      link.href = window.URL.createObjectURL(blob)
      link.download = `产后计划安排${Date.now()}.xls` //自定义文件名字
      document.body.appendChild(link)
      //模拟点击事件
      link.click()
      document.body.removeChild(link)

      break
    }
    case '置空': {
      clearFormList2()
      AdjudicationNumberInquiryMethods()
      break
    }
  }
}

const imgList = ref<any>([])

// 表格数据

const tableHeader = ref([
  {
    label: '指令',
    prop: 'lotNo',
    change: true
  },
  {
    label: '订单数',
    prop: 'orderQty',
    change: true
  },
  {
    label: '成型上线日',
    prop: 'lastDate',
    change: true
  },
  {
    label: '成型线别',
    prop: ' lastLine',
    change: true
  },

  {
    label: '品牌',
    prop: 'custom',
    change: true
  },
  {
    label: '下单日期',
    prop: 'orderDate',
    change: true
  },
  {
    label: '型体',
    prop: 'style',
    change: true
  },
  {
    label: '客人交期',
    prop: 'deliveryDate',
    change: true
  },
  {
    label: '颜色',
    prop: 'color',
    change: true
  },
  {
    label: '楦头',
    prop: 'lastNo',
    change: true
  },

  {
    label: '图片',
    fixed: true,
    prop: 'photoPath',
    type: 'img',
    srcList: imgList
  },

  {
    Multistage: true,
    label: '主面料',
    children: [
      {
        label: '生控计划',
        prop: 'j',
        change: true
      },
      {
        label: '实际完成',
        prop: 'z',
        change: true
      }
    ]
  },
  {
    Multistage: true,
    label: '一裁',
    children: [
      {
        label: '冲裁单位',
        prop: 'cutDept'
      },
      {
        label: '欠数',
        prop: 'cutWeekDate',
        change: true
      },
      {
        label: '门槛上线日',
        prop: 'cutPlan',
        change: true
      },
      {
        label: '生控计划日',
        prop: 'cutPlanNew'
      },
      {
        label: '外发数',
        prop: 'cutOutQty'
      }
    ]
  },

  {
    Multistage: true,
    label: '工艺',
    children: [
      {
        label: '欠数',
        prop: 'hfShortQty',
        change: true
      },
      {
        label: '门槛上线日',
        prop: 'hfPlan',
        change: true
      },
      {
        label: '生控计划日',
        prop: 'hfPlanNew'
      },
      {
        label: '外发数',
        prop: 'hfOutQty'
      }
    ]
  },
  {
    Multistage: true,
    label: '二/三裁',
    children: [
      {
        label: '欠数',
        prop: 'matchShortQty',
        change: true
      },
      {
        label: '门槛上线日',
        prop: 'matchPlan',
        change: true
      },
      {
        label: '生控计划日',
        prop: 'matchPlanNew'
      },
      {
        label: '外发数',
        prop: 'matchOutQty'
      }
    ]
  },
  {
    Multistage: true,
    label: '针车',
    children: [
      {
        label: '针车单位',
        prop: 'stitchDept'
      },
      {
        label: '欠数',
        prop: 'stitchShortQty',
        change: true
      },
      {
        label: '门槛上线日',
        prop: 'stitchPlan',
        change: true
      },
      {
        label: '生控计划日',
        prop: 'stitchPlanNew'
      },
      {
        label: '外发数',
        prop: 'stitchOutQty'
      }
    ]
  },

  {
    Multistage: true,
    label: '大底',
    children: [
      {
        label: '欠数',
        prop: 'j',
        change: true
      },
      {
        label: '生控计划',
        prop: 'z',
        change: true
      },
      {
        label: '实际完成',
        prop: 'z',
        change: true
      }
    ]
  },
  {
    label: '面底配套库存',
    prop: 'z',
    change: true
  },
  {
    Multistage: true,
    label: '成型',
    children: [
      {
        label: '欠数',
        prop: 'lastShortQty',
        change: true
      },
      {
        label: '门槛上线日',
        prop: 'lastPlan',
        change: true
      },
      {
        label: '生控计划日',
        prop: 'lastPlanNew'
      },
      {
        label: '外发数',
        prop: 'lastOutQty'
      }
    ]
  }
])

const tableHeader1 = ref([
  {
    label: '序号',
    prop: 'seqNo'
  },
  {
    label: '工序代码',
    prop: 'processCode'
  },
  {
    label: '工序名称',
    prop: 'processName'
  },
  {
    label: '规划产能',
    prop: ' iePlanQty'
  },
  {
    label: '备注',
    prop: 'remark'
  }
])
</script>

<style lang="less" scoped>
:deep(.ProductionDynamicMainCardBottom .el-input__wrapper) {
  background-color: #fff5eb;
}

.save {
  color: black;
  border: 1px solid #e7e7e7;
  background: #e7e7e7;
}

.table1 {
  :deep(th:nth-child(3)) {
    color: red !important;
  }

  :deep(th:nth-child(4)) {
    color: red !important;
  }

  :deep(th:nth-child(13)) {
    color: blue !important;
  }

  :deep(th:nth-child(14)) {
    color: blue !important;
  }

  :deep(th:nth-child(15)) {
    color: blue !important;
  }

  :deep(th:nth-child(16)) {
    color: blue !important;
  }

  :deep(th:nth-child(17)) {
    color: rgb(204, 96, 114) !important;
  }

  :deep(th:nth-child(12)) {
    color: rgb(204, 96, 114) !important;
  }

  :deep(th:nth-child(19)) {
    color: blue !important;
  }

  :deep(th:nth-child(18)) {
    color: blue !important;
  }

  :deep(.el-table_1_column_12_column_13.is-center.is-leaf.el-table__cell) {
    color: blue !important;
  }

  :deep(.el-table_1_column_12_column_14.is-center.is-leaf.el-table__cell) {
    color: black !important;
  }

  :deep(.el-table_1_column_15_column_16.is-center.is-leaf.el-table__cell) {
    color: blue !important;
  }

  :deep(.el-table_1_column_15_column_17.is-center.is-leaf.el-table__cell) {
    color: black !important;
  }

  :deep(.el-table_1_column_15_column_19.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_15_column_20.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_21_column_25.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_21_column_24.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_26_column_27.is-center.is-leaf.el-table__cell) {
    color: black !important;
  }

  :deep(.el-table_1_column_26_column_28.is-center.is-leaf.el-table__cell) {
    color: black !important;
  }

  :deep(.el-table_1_column_26_column_29.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_26_column_30.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_31_column_33.is-center.is-leaf.el-table__cell) {
    color: black !important;
  }

  :deep(.el-table_1_column_31_column_36.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_31_column_35.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_37_column_39.is-center.is-leaf.el-table__cell) {
    color: blue !important;
  }

  :deep(.el-table_1_column_42_column_45.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }

  :deep(.el-table_1_column_42_column_46.is-center.is-leaf.el-table__cell) {
    color: red !important;
  }
}
</style>
